// 将其它数据转换为 symbol 值

// 将 Symbol 当作普通函数使用时，
// 用于将其它数据转换为 symbol 值(原始类型)

let x = Symbol();
console.log( x , typeof x );

// 因为 Symbol 函数的参数类型要求是 string
// 因此这些数值会首先转换成 string 然后再得到 symbol 值(原始类型)
x = Symbol( null );
console.log( x , typeof x );

x = Symbol( undefined );
console.log( x , typeof x );

x = Symbol( 0 );
console.log( x , typeof x );

x = Symbol( '' );
console.log( x , typeof x );

x = Symbol( NaN );
console.log( x , typeof x );

x = Symbol( false );
console.log( x , typeof x );

x = Symbol( [ ] );
console.log( x , typeof x );

x = Symbol( { } );
console.log( x , typeof x );

let s = 'kaifamiao' ;
x = Symbol( s );
console.log( x , typeof x );
console.log( x.description , typeof x.description );